//新式转换 static_cast 静态转换 错误示例
#include <iostream>
using namespace std;

struct node
{
    int a;
    float b;
    char c[1000];
};

int main()
{
    struct node *p;
    int a;

    //实际错误，但编写的时候不会报错，运行的时候就会错误
    p = (struct node *)&a;  //错误
    //可以用static_cast来增加可读性,它会在编写时显示错误
    //p = static_cast<struct node *>(&a);  //错误
    p->a = 100;
    p->b = 3.14;
    p->c[888] = 'a';

    return 0;
}